Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

IdeSceneGraph Class Reference

#include <deScene.hpp>

Inheritance diagram for IdeSceneGraph:

Inheritance graph
[legend]
List of all members.

Public Types

enum  deCullModes {
  deCullFrustum = (0x0001), deCullDetail = (0x0002), deCullOccludeSphere = (0x0004), deCullOccludeConvHull = (0x0008),
  deCullOccludeRaster = (0x0010), deCullFarPlaneOptimize = (0x0020), deCull_Max, deCull_32bit = (0x7fffffff)
}
 different methods of culling that can be done in the scenegraph traversal More...

enum  deDebugFlags {
  deDrawAABB = (0x0001), deDrawOBB = (0x0002), deDrawSphere = (0x0004), deDrawSpatialPartition = (0x0008),
  deDebugFlag_Max, deDebugFlag_32bit = (0x7fffffff)
}
 debug flags for helping examine things More...

enum  deContents {
  deContentsNone = (0x00000000), deContentsClear = (0x00000001), deContentsOpaque = (0x00000002), deContentsSolid = (0x00000004),
  deContentsUser10 = (0x00100000), deContentsUser09 = (0x00200000), deContentsUser08 = (0x00400000), deContentsUser07 = (0x00800000),
  deContentsUser06 = (0x01000000), deContentsUser05 = (0x02000000), deContentsUser04 = (0x04000000), deContentsUser03 = (0x08000000),
  deContentsUser02 = (0x10000000), deContentsUser01 = (0x20000000), deContents_Max, deContents_32bit = (0x7fffffff)
}
 possible contents More...


Public Member Functions

virtual long Traverse (deSceneTraversal *Params)=0
virtual deBoolean SetCullFlags (long CullFlags)=0
 specify a set of cull flags. Use bitwise OR to combine elements of deCullModes

virtual long GetCullFlags ()=0
 retrieve the current cull flags set

virtual deBoolean SetDebugFlags (long DebugFlags)=0
 specify a set of debug flags. Use bitwise OR to combine elements of deDebugFlags

virtual long GetDebugFlags ()=0
 retrieve the current debug flags set

virtual IdeSceneRoomFindRoomWithID (deWorldID WorldID, deObjectID ObjectID)=0
virtual deBoolean AddRoom (IdeSceneRoom *Room)=0
 Add an IdeSceneRoom object to the scenegraph.

virtual deBoolean RemoveRoom (IdeSceneRoom *Room)=0
 Remove an IdeSceneRoom object from the scenegraph.

virtual deBoolean AddSceneObject (IdeSceneObject *Object)=0
virtual void RemoveSceneObject (IdeSceneObject *Object)=0
virtual void RepositionSceneObject (IdeSceneObject *Object)=0
virtual deBoolean PortalOccluded (IdePortal *portal)=0
virtual DWORD TestIntersection (const deVec3d &Position, const deVec3d *Mins, const deVec3d *Maxs)=0
virtual deBoolean TestCollision (const IdeCollision::deCollideParams &Params, IdeCollision *Collision)=0
 test whether a collision occurs when using given Params

virtual void ObjectExtents (IdeBoundingVolume *volume, IdeCollision *Results)=0
 considers only the objects intersected at the start point

virtual long LightExtents (const deVec3d &pos, const deAABB &bbox, IdeSceneLight **outBuffer, long bufferSize)=0

Protected Member Functions

virtual ~IdeSceneGraph ()

Detailed Description

The interface class for storing and querying a 3D scene. Related functions: IdeSceneGraph_GetSceneGraphPtr.


Member Enumeration Documentation

enum IdeSceneGraph::deContents
 

possible contents

Enumeration values:
deContentsNone  nothing here (note: you can't do a bitwise-AND and get 1 with this)
deContentsClear  see-through
deContentsOpaque  not see-through
deContentsSolid  impassable
deContentsUser10 
deContentsUser09 
deContentsUser08 
deContentsUser07 
deContentsUser06 
deContentsUser05 
deContentsUser04 
deContentsUser03 
deContentsUser02 
deContentsUser01 
deContents_Max 
deContents_32bit 

enum IdeSceneGraph::deCullModes
 

different methods of culling that can be done in the scenegraph traversal

Enumeration values:
deCullFrustum  cull using a view frustum
deCullDetail  cull using screen-contribution metric
deCullOccludeSphere  cull using sphere occlusion
deCullOccludeConvHull  cull using convex hull occlusion (not implemented)
deCullOccludeRaster  cull using image-space occlusion (not implemented)
deCullFarPlaneOptimize  not culling technically, but it can improve visual quality
deCull_Max 
deCull_32bit 

enum IdeSceneGraph::deDebugFlags
 

debug flags for helping examine things

Enumeration values:
deDrawAABB  render AABB's for objects (in blue)
deDrawOBB  render OBB's for objects (in red)
deDrawSphere  render bounding spheres for objects
deDrawSpatialPartition  render the scenegraph octree
deDebugFlag_Max 
deDebugFlag_32bit 


Constructor & Destructor Documentation

virtual IdeSceneGraph::~IdeSceneGraph   [inline, protected, virtual]
 


Member Function Documentation

virtual deBoolean IdeSceneGraph::AddRoom IdeSceneRoom   Room [pure virtual]
 

Add an IdeSceneRoom object to the scenegraph.

Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::AddSceneObject IdeSceneObject   Object [pure virtual]
 

Implemented in deSceneGraph.

virtual IdeSceneRoom* IdeSceneGraph::FindRoomWithID deWorldID    WorldID,
deObjectID    ObjectID
[pure virtual]
 

Implemented in deSceneGraph.

virtual long IdeSceneGraph::GetCullFlags   [pure virtual]
 

retrieve the current cull flags set

Implemented in deSceneGraph.

virtual long IdeSceneGraph::GetDebugFlags   [pure virtual]
 

retrieve the current debug flags set

Implemented in deSceneGraph.

virtual long IdeSceneGraph::LightExtents const deVec3d   pos,
const deAABB   bbox,
IdeSceneLight **    outBuffer,
long    bufferSize
[pure virtual]
 

Implemented in deSceneGraph.

virtual void IdeSceneGraph::ObjectExtents IdeBoundingVolume   volume,
IdeCollision   Results
[pure virtual]
 

considers only the objects intersected at the start point

Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::PortalOccluded IdePortal   portal [pure virtual]
 

Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::RemoveRoom IdeSceneRoom   Room [pure virtual]
 

Remove an IdeSceneRoom object from the scenegraph.

Implemented in deSceneGraph.

virtual void IdeSceneGraph::RemoveSceneObject IdeSceneObject   Object [pure virtual]
 

Implemented in deSceneGraph.

virtual void IdeSceneGraph::RepositionSceneObject IdeSceneObject   Object [pure virtual]
 

Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::SetCullFlags long    CullFlags [pure virtual]
 

specify a set of cull flags. Use bitwise OR to combine elements of deCullModes

Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::SetDebugFlags long    DebugFlags [pure virtual]
 

specify a set of debug flags. Use bitwise OR to combine elements of deDebugFlags

Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::TestCollision const IdeCollision::deCollideParams   Params,
IdeCollision   Collision
[pure virtual]
 

test whether a collision occurs when using given Params

Implemented in deSceneGraph.

virtual DWORD IdeSceneGraph::TestIntersection const deVec3d   Position,
const deVec3d   Mins,
const deVec3d   Maxs
[pure virtual]
 

Implemented in deSceneGraph.

virtual long IdeSceneGraph::Traverse deSceneTraversal   Params [pure virtual]
 

Implemented in deSceneGraph.


The documentation for this class was generated from the following file:
Generated on Mon Sep 12 20:16:39 2005 for Destiny3D by doxygen1.3-rc3